#include<bits/stdc++.h>//BAONI
using namespace std;
template<class T>void read(T &x)
{
	x=0;int f=0;char ch=getchar();
	while(ch<'0'||ch>'9') { f|=(ch=='-'); ch=getchar(); }
	while(ch<='9'&&ch>='0') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
	x = f ? -x : x;
	return ;
}

int n,m,q,u,v,t;
double p;

void Swap(int &x,int &y) { x=x^y; y=y^x; x=x^y; return ; }

struct Heap{
	int Line[10000000];
	int sum;

	void Insert(int x)
	{
		sum++;
		Line[sum]=x;
		Up(sum);
		return ;
	}

	void Del()
	{
		Swap(Line[1],Line[sum]);
		sum--;
		Down(1);
		return ;
	}
	
	int Top()
	{
		return Line[1];
	}

	void Change(int x)
	{
		for(int i=1;i<=sum;++i)
		{
			Line[i]+=x;
		}
		return ;
	}

	void Down(int x)
	{
		x<<=1;
		if(x>sum)return ;
		if(x<sum&&Line[x]<Line[x+1])x++;
		if(Line[x>>1]<Line[x])
		{
			Swap(Line[x>>1],Line[x]);
			Down(x);
		}
		return ;
	}

	void Up(int x)
	{
		if(x==1)return ;
		if(Line[x>>1]<Line[x])
		{
			Swap(Line[x>>1],Line[x]);
			Up(x>>1);
		}
		return ;
	}

};

Heap H;

int main()
{
	freopen("earthworm.in","r",stdin);
	freopen("earthworm.out","w",stdout);
	int k;
	read(n);read(m);read(q);read(u);read(v);read(t);
	p=(double)u/(double)v;
	for(int i=1;i<=n;++i) { read(k); H.Insert(k); }
	k=1;
	for(int i=1;i<=m;++i)
	{
		int x=H.Top();
		if(i==k*t)
		{
			printf("%d ",x);
			k++;
		}
		H.Del();
		int z=floor(x*p);
		if(q)H.Change(q);
		H.Insert(z);
		H.Insert(x-z);
	}
	printf("\n");
	k=1;
	for(int i=1;i<=n+m;++i)
	{
		if(i==k*t)
		{
			printf("%d ",H.Top());
			k++;
		}
		H.Del();
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}
